package com.lantosec.hmrp.modules.morality.service;

import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.morality.entity.MoralityNote;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lantosec.hmrp.modules.morality.entity.MoralityNoteList;
import com.lantosec.hmrp.modules.morality.vo.MoralityNoteVO;

import java.util.List;

/**
 * <p>
 * 考评记录 服务类
 * </p>
 *
 * @author AutoCode
 * @since 2020-04-20
 */
public interface IMoralityNoteService extends IService<MoralityNote> {

    /**
     * 个人自评分页查询
     * @param page
     * @param state
     * @param moralityPlanName
     */
    List<MoralityNoteVO> getAll(PageVO<MoralityNoteVO> page,Integer state,String moralityPlanName);

    /**
     * 个人自评修改提交
     * @param moralityNoteList
     */
    void updateMoralityNote(MoralityNoteList moralityNoteList);

    /**
     * 科室未审核列表
     * @param page
     * @param moralityPlanName
     * @param userName
     */
    List<MoralityNoteVO> getDeptNotExamine(PageVO<MoralityNoteVO> page,String userName,String moralityPlanName);

    /**
     * 科室审核列表(医生)
     * @param page
     * @return
     */
    List<MoralityNoteVO> getDeptExamineDoc(PageVO<MoralityNoteVO> page);

    /**
     * 科室审核列表(护士)
     * @param page
     * @return
     */
    List<MoralityNoteVO> getDeptExamineNur(PageVO<MoralityNoteVO> page);

    /**
     * 科室审核提交
     * @param moralityNoteList
     */
    void deptExamineCommit(MoralityNoteList moralityNoteList);

    /**
     * 党支部审核列表
     * @param page
     * @param moralityPlanName
     * @param userName
     * @param deptId
     */
    List<MoralityNoteVO> getPartyBranchExamine(PageVO<MoralityNoteVO> page,String userName,String deptId,String moralityPlanName);

    /**
     * 考评委员会审核列表
     * @param page
     * @param moralityPlanName
     * @param userName
     * @param deptId
     */
    List<MoralityNoteVO> getAppraisalExamine(PageVO<MoralityNoteVO> page,String userName,String deptId,String moralityPlanName);

    /**
     * 科室列表审核提交
     * @param moralityNotes
     */
    void deptExamineListCommit(List<MoralityNote> moralityNotes);

    /**
     * 科室审核提交(APP)
     * @param moralityNoteList
     */
    void deptExamineAppCommit(MoralityNoteList moralityNoteList);
}
